package com.yuedou.api.service.platfom;

import com.yuedou.api.entity.platform.PlatformPay;
import com.yuedou.api.service.base.BaseService;

import java.math.BigDecimal;

/**
 * 银行支付列Service接口
 *
 * @author ruoyi
 * @date 2022-08-10
 */
public interface PlatformPayService extends BaseService<PlatformPay> {

    /**
     *  农商行的  微信下单(主账号)
     * @param out_trade_no
     * @param totalAmount
     * @param subject
     * @param open_id
     * @param attach
     * @param platformPay
     * @return
     */
    String appletOrderMain(String out_trade_no, BigDecimal totalAmount, String subject, String appid, String open_id, String attach,String notifyUrl, PlatformPay platformPay);

    /**
     *  农商行的  微信下单
     * @param out_trade_no
     * @param totalAmount
     * @param subject
     * @param open_id
     * @param attach
     * @param platformPay
     * @return
     */
    String appletOrder(String out_trade_no, BigDecimal totalAmount, String subject, String appId, String open_id, String attach, String notifyUrl, PlatformPay platformPay);

    /**
     * 农商行的  订单查询
     * @param out_trade_no
     * @param platformPay
     * @return
     */
    String orderQuery(String out_trade_no, PlatformPay platformPay);

    /**
     * 退款
     * @param out_trade_no
     * @param refund_money
     * @param out_refund_no
     * @param platformPay
     * @return
     */
    String refundOrder(String out_trade_no, BigDecimal refund_money, String out_refund_no,PlatformPay platformPay);

    /**
     * 农商行的  退款订单查询
     * @param out_trade_no
     * @param platformPay
     * @return
     */
    String refundOrderQuery(String out_trade_no, PlatformPay platformPay);

    /**
     *  获取跃豆商户  （默认账户）
     * @return
     */
    PlatformPay getDefaultAccount();

    /**
     *  根据所属商家id  获取当前物业公司的账户
     * @param merId
     * @return
     */
    PlatformPay getAccountByMerId(int merId);

}
